One definition of a Web service is any information source conveniently packaged for use by an application or end-user. Web services are increasingly becoming the means through which one can provide functionality over a network. Currently, activities focusing on defining and standardizing the use of Web services include the development of Web Services Description Language (WSDL). WSDL is an Extensible Markup Language (XML) format for describing network, or Web, services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services).
With respect to creating, distributing, and managing distributed program objects in a network, the Common Object Request Broker Architecture (CORBA) allows programs at different locations and developed by different vendors to communicate over a network through an “interface broker.” A critical component of this architecture is an Object Request Broker (ORB), which acts as the broker between a client request for a service from a distributed object or component and the completion of that request. Typically, ORB-based strategies are designed and utilized to transform the results of one proprietary, transaction-oriented application for consumption by another application.
In such a highly distributed computing model such as that of Web services, implementation of a CORBA architecture does not provide a technique for defining and composing compound Web services consisting of an aggregation of multiple existing Web services. Furthermore, neither does the WSDL describe how a solution to this previously unmet need can be accomplished. Hence, there is a need for a technique for composing and executing compound Web services consisting of an aggregation of multiple existing Web services.